package net.imagine.backend.mockrmi;

import org.apache.commons.collections.FastHashMap;

/**
 * 服务组件注册表，用于存放已服务器注册的服务实现对象
 * 
 * @author wuqh
 */
public class ServiceRegistry {
	private final static FastHashMap registry;

	static {
		registry = new FastHashMap();
		registry.setFast(true);
	}

	/**
	 * 注册一个服务组件
	 * 
	 * @param id
	 *            id必须在当前JVM中唯一
	 * @param target
	 *            注册的服务对象
	 */
	public static void regist(String id, Object target) {
		registry.put(id, target);
	}

	/**
	 * 获取服务组件
	 * 
	 * @param id
	 *            注册的服务对象id
	 */
	public static Object lookup(String id) {
		return registry.get(id);
	}

	/**
	 * 取消对于组件的注册
	 * 
	 * @param id
	 *            注册的服务对象id
	 */
	public static void unbind(String id) {
		registry.remove(id);
	}
}
